package com.piggy.logi.sys.vo;

import com.piggy.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 调度车次信息视图对象 logi_schedule
 *
 * @author piggy
 * @date 2023-11-21
 */
@Data
@Accessors(chain = true)
@ApiModel("调度车次信息视图对象")
public class LogiScheduleVo implements Serializable {

	private static final long serialVersionUID = 1L;

	/** 主键 */
	@Excel(name = "主键")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("主键")
	private Long scheduleId;

	/** 部门id */
	@Excel(name = "部门id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("部门id")
	private Long deptId;

	/** 调度单号 YYYYMMDD+序号 */
	@Excel(name = "调度单号 YYYYMMDD+序号")
	@ApiModelProperty("调度单号 YYYYMMDD+序号")
	private String scheduleNo;

	/** 车次号 YYYYMMDD+序号 */
	@Excel(name = "车次号 YYYYMMDD+序号")
	@ApiModelProperty("车次号 YYYYMMDD+序号")
	private String busNo;

	/** 承运商id */
	@Excel(name = "承运商id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("承运商id")
	private Long carrierId;

	/** 线路id */
	@Excel(name = "线路id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("线路id")
	private Long lineId;

	/** 司机id */
	@Excel(name = "司机id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("司机id")
	private Long driverId;

	/** 司机json对象 */
	@Excel(name = "司机json对象")
	@ApiModelProperty("司机json对象")
	private String driverJson;

	/** 车辆id */
	@Excel(name = "车辆id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("车辆id")
	private Long carId;

	/** 车辆json对象 */
	@Excel(name = "车辆json对象")
	@ApiModelProperty("车辆json对象")
	private String carJson;

	/** 流程状态 */
	@Excel(name = "流程状态")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("流程状态")
	private Long flowStatus;

	/** 预计提货时间 */
	@Excel(name = "预计提货时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("预计提货时间")
	private Date estPickupTime;

	/** 提货时间 */
	@Excel(name = "提货时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("提货时间")
	private Date pickupTime;

	/** 预计发车时间 */
	@Excel(name = "预计发车时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("预计发车时间")
	private Date estDepartTime;

	/** 发车时间 */
	@Excel(name = "发车时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("发车时间")
	private Date departTime;

	/** 预计到达时间 */
	@Excel(name = "预计到达时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("预计到达时间")
	private Date estArriveTime;

	/** 到达时间 */
	@Excel(name = "到达时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("到达时间")
	private Date arriveTime;

	/** 完成时间 */
	@Excel(name = "完成时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("完成时间")
	private Date finishedTime;

	/** 附件 */
	@Excel(name = "附件")
	@ApiModelProperty("附件")
	private String attach;

	/** 押送人 */
	@Excel(name = "押送人")
	@ApiModelProperty("押送人")
	private String escortor;

	/** 押送人证件 */
	@Excel(name = "押送人证件")
	@ApiModelProperty("押送人证件")
	private String escortorIdcard;

	/** 押送人手机/电话 */
	@Excel(name = "押送人手机/电话")
	@ApiModelProperty("押送人手机/电话")
	private String escortorPhone;

	/** 创建者 */
	@Excel(name = "创建者")
	@ApiModelProperty("创建者")
	private String createBy;

	/** 创建时间 */
	@Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("创建时间")
	private Date createTime;

	/** 更新者 */
	@Excel(name = "更新者")
	@ApiModelProperty("更新者")
	private String updateBy;

	/** 更新时间 */
	@Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("更新时间")
	private Date updateTime;

	/** 备注 */
	@Excel(name = "备注")
	@ApiModelProperty("备注")
	private String remark;

	/** 发货网点ID */
	@Excel(name = "发货网点ID")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("发货网点ID")
	private Long shipNetId;

	/** 收货网点ID */
	@Excel(name = "收货网点ID")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("收货网点ID")
	private Long deliveryNetId;

	/** 发货方省市区、县ID */
	@Excel(name = "发货方省市区、县ID")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("发货方省市区、县ID")
	private Long shipDistrictId;

	/** 发货方详细地址 */
	@Excel(name = "发货方详细地址")
	@ApiModelProperty("发货方详细地址")
	private String shipAddress;

	/** 发货方经度 */
	@Excel(name = "发货方经度")
	@ApiModelProperty("发货方经度")
	private Double shipLng;

	/** 发货方纬度 */
	@Excel(name = "发货方纬度")
	@ApiModelProperty("发货方纬度")
	private Double shipLat;

	/** 收货方区县Id */
	@Excel(name = "收货方区县Id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("收货方区县Id")
	private Long deliveryDistrictId;

	/** 收货方详细地址 */
	@Excel(name = "收货方详细地址")
	@ApiModelProperty("收货方详细地址")
	private String deliveryAddress;

	/** 收货方经度 */
	@Excel(name = "收货方经度")
	@ApiModelProperty("收货方经度")
	private Double deliveryLng;

	/** 收货方纬度 */
	@Excel(name = "收货方纬度")
	@ApiModelProperty("收货方纬度")
	private Double deliveryLat;

	/** 运单ID */
	@Excel(name = "运单ID")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("运单ID")
	private Long waybillId;

}
